/*
 * main-tools.h è una libreria improntata all'offerta di funzioni generali, sia di release che di debug.
 */

#ifndef MAIN_TOOLS_H_
#define MAIN_TOOLS_H_

#include <stdlib.h>
#include <stdio.h>
#include "graph.h"

/** Controlla l'allocazione di un nuovo puntatore.
 */
void checkMalloc(void* p,const char* description);

/**sceglie un seme dei random nella maniera più casuale possibile.
 * Non importa quante volte questa funzione viene richiamata, il seme viene scelto solo la prima volta
 *
 */
void randomize();

/** Dato un numero ushort K genera una permutazione dei numeri da 0 a K-1.
 * Ogni iterazione sui veicoli può quindi non scorrere in senso ordinato da 0 a K-1 ma procedere casualmente,
 * nell'intenzione dei progettisti questo livella il gap tra chi ha potuto acceder prima alla mossa corrente. */
int* randomPermutation(int K);

/**aspetta l'invio dell'utente prima di continuare l'esecuzione del programma
 *
 */
void pause();

#endif /* MAIN_TOOLS_H_ */
